home *** CD-ROM | disk | FTP | other *** search
- Short: Virtual amiga-like OS and network layer
- Author: timm s. mueller
- Uploader: tmueller@neoscientists.org
- Version: 0.32
- Type: dev/misc
- Requires: os3.0, amigasdk 1.01, morphos, linux 2.x
-
-
- TEKlib v0.32
- helium release
-
- (c) 2001 by TEK neoscientists
- all rights reserved.
-
-
- overview
- ----------------------------------------------
-
- TEKlib is a virtual operating system, middleware, and IPC
- layer. it provides portable services for
-
- - memory management
- - timers
- - mutexes
- - events
- - threads
- - message IPC
- - network transparency
-
- TEKlib implements an ultra-thin¹ abstraction to a host's
- kernel, with currently two layers entirely differing in
- respect to naming conventions and abstraction levels. an
- implementation of the lower layer ('kernelspace') provides a
- port to another platform. the upper layer ('tekspace') is
- fully portable, and applications written for that API
- compile flawlessly, without modifications, on all supported
- platforms.
-
- currently TEKlib supports an ANSI C conformant API for the
- following platforms:
-
- - Linux/32bit²
- - TAO Elate/AmigaSDK 1.01
- - AmigaOS 3.x
- - MorphOS
-
- examples in C and documentation in plain text, amigaguide,
- HTML, and PDF are included.
-
- ¹ currently less than 30k of binary code
-
- ² mostly POSIX compliant, but untested on other operating
- systems and architectures; for porting see kn/linux/exec.c
-
-
- key benefits
- ----------------------------------------------
-
- - well-defined multitasking semantics for atomic, explicit,
- massive parallelity
-
- - tasks are autonomous entities supplied with means for
- communication; communicating tasks can be passed around like
- objects
-
- - realtime conformant design
-
- - fine-grained, recursive memory management, including
- memory pools, optimized reallocation strategies,
- thread-safety, cleanup handling
-
- - reliable, unified messaging semantics for synchronous and
- asynchronous IPC in both local address space and via network
-
- - protocol-agnostic messaging layer, currently implemented
- with TCP/IP sockets
-
- - small, robust, fault-tolerant, fast, portable, fully
- re-entrant, not limited to a particular compiler
-
- - open source, BSD style licensing model.
-
-
- security warning
- ----------------------------------------------
-
- this library is targetted to creating distributed software in
- the long run. at its current development stage, it lacks the
- implementation of a fully-fledged security philosophy. don't let
- networked TEKlib applications listen on privileged port numbers,
- and don't announce messageports outside of trusted environments
- for now.
-
-
- requirements
- ----------------------------------------------
-
- known, tested, recommended configurations
-
- Linux - 2.2 and 2.4 kernel series, gcc 2.95.2,
- libpthreads, libX11 (optional)
-
- AmigaOS - AmigaOS 3.x, bsdsocket.library v4,
- guigfx.library and render.library (optional),
- SAS/C 6.5x or egcs 2.91.66
-
- TAO Elate - AmigaSDK 1.01, vpcc 2.0
-
- MorphOS - bsdsocket.library v4, guigfx.library and
- render.library (optional), gcc 2.95.2
-
-
- authors
- ----------------------------------------------
-
- timm s. mueller
- tmueller@neoscientists.org
-
- daniel adler
- dadler@neoscientists.org
-
- visit the TEKlib homepage:
- www.neoscientists.org/~bifat/teklib/
-
-
-
- ============================= Archive contents =============================
-
- Original Packed Ratio Date Time Name
- -------- ------- ----- --------- -------- -------------
- 14031 3043 78.3% 13-May-01 15:00:58 +exec.c
- 438 259 40.8% 12-May-01 15:15:52 +exec.h
- 3416 1247 63.4% 12-May-01 15:15:52 +sock.c
- 22210 5438 75.5% 25-May-01 23:43:36 +visual.c
- 395 215 45.5% 12-May-01 15:16:50 +destroyevent.c
- 394 220 44.1% 12-May-01 15:16:50 +destroylock.c
- 290 188 35.1% 12-May-01 15:16:50 +destroytimer.c
- 600 324 46.0% 12-May-01 15:16:50 +initevent.c
- 512 285 44.3% 12-May-01 15:16:50 +inittimer.c
- 322 200 37.8% 12-May-01 15:16:50 +memcopy32.c
- 392 233 40.5% 12-May-01 15:16:50 +realloc.c
- 346 208 39.8% 12-May-01 15:16:50 +unlock.c
- 396 225 43.1% 12-May-01 15:16:50 +waitevent.c
- 2989 723 75.8% 25-May-01 23:35:00 +visual.h
- 224 152 32.1% 12-May-01 15:16:50 +deinitthread.c
- 499 240 51.9% 12-May-01 15:16:50 +destroybasecontext.c
- 342 206 39.7% 12-May-01 15:16:50 +doevent.c
- 460 299 35.0% 12-May-01 15:16:50 +findself.c
- 242 168 30.5% 12-May-01 15:16:50 +free.c
- 221 153 30.7% 12-May-01 15:16:50 +getrandomseed.c
- 330 223 32.4% 12-May-01 15:16:50 +getsize.c
- 668 354 47.0% 12-May-01 15:16:50 +initlock.c
- 337 206 38.8% 12-May-01 15:16:50 +lock.c
- 341 202 40.7% 12-May-01 15:16:50 +memset32.c
- 352 205 41.7% 12-May-01 15:16:50 +resettimer.c
- 301 187 37.8% 12-May-01 15:16:50 +timedelay.c
- 1039 348 66.5% 12-May-01 15:16:50 +timedwaitevent.c
- 254 178 29.9% 12-May-01 15:16:50 +alloc.c
- 369 234 36.5% 12-May-01 15:16:50 +alloc0.c
- 649 274 57.7% 12-May-01 15:16:50 +destroythread.c
- 407 256 37.1% 12-May-01 15:16:50 +dispatch.c
- 1243 491 60.4% 12-May-01 15:16:50 +initbasecontext.c
- 3092 974 68.4% 12-May-01 15:16:50 +initthread.c
- 296 184 37.8% 12-May-01 15:16:50 +memcopy.c
- 316 190 39.8% 12-May-01 15:16:50 +memset.c
- 469 256 45.4% 12-May-01 15:16:50 +querytimer.c
- 80 60 25.0% 21-Mar-01 01:35:28 +createclientsock.c
- 81 62 23.4% 21-Mar-01 01:35:28 +destroyclientsock.c
- 271 180 33.5% 21-Mar-01 01:35:28 +waitselect.c
- 75 57 24.0% 21-Mar-01 01:35:28 +cmpsockname.c
- 78 60 23.0% 21-Mar-01 01:35:28 +createservsock.c
- 79 61 22.7% 21-Mar-01 01:35:28 +destroyservsock.c
- 79 58 26.5% 21-Mar-01 01:35:28 +destroysockname.c
- 78 57 26.9% 21-Mar-01 01:35:28 +getservsockmsg.c
- 75 57 24.0% 21-Mar-01 01:35:28 +getsockname.c
- 75 57 24.0% 21-Mar-01 01:35:28 +getsockport.c
- 76 57 25.0% 21-Mar-01 01:35:28 +initsockname.c
- 81 59 27.1% 21-Mar-01 01:35:28 +returnservsockmsg.c
- 78 59 24.3% 21-Mar-01 01:35:28 +waitclientsock.c
- 76 59 22.3% 21-Mar-01 01:35:28 +waitservsock.c
- 428 266 37.8% 12-May-01 15:15:52 +exec.h
- 1477 653 55.7% 12-May-01 15:15:52 +sock.h
- 75 57 24.0% 21-Mar-01 01:35:28 +dupsockname.c
- 80 57 28.7% 21-Mar-01 01:35:28 +getclientsockmsg.c
- 781 205 73.7% 21-Mar-01 01:35:30 +getsockerrno.asm
- 68 52 23.5% 21-Mar-01 01:35:28 +itoa.c
- 80 58 27.5% 21-Mar-01 01:35:28 +putclientsockmsg.c
- 801 360 55.0% 12-May-01 15:15:52 +visual.h
- 897 247 72.4% 26-May-01 04:26:32 +allocpen.asm
- 1452 490 66.2% 12-May-01 15:16:50 +drawrgb.asm
- 1314 428 67.4% 12-May-01 15:16:50 +drawtext.asm
- 1185 370 68.7% 12-May-01 15:16:50 +flush.asm
- 914 256 71.9% 26-May-01 04:29:02 +setbgpen.asm
- 4914 1554 68.3% 12-May-01 15:16:50 +createvisual.asm
- 1416 394 72.1% 12-May-01 15:16:50 +destroyvisual.asm
- 1068 329 69.1% 12-May-01 15:16:50 +frect.asm
- 4731 1356 71.3% 12-May-01 15:16:50 +getevent.asm
- 2674 792 70.3% 12-May-01 15:16:50 +getnextinput.c
- 1192 348 70.8% 12-May-01 15:16:50 +getparameters.asm
- 1027 305 70.3% 12-May-01 15:16:50 +plot.asm
- 1060 333 68.5% 12-May-01 15:16:50 +scroll.asm
- 914 256 71.9% 26-May-01 04:29:26 +setfgpen.asm
- 903 248 72.5% 12-May-01 15:16:50 +setinputmask.asm
- 765 353 53.8% 12-May-01 15:16:50 +waitvisual.c
- 1274 264 79.2% 12-May-01 15:15:52 +visual.inc
- 874 229 73.7% 26-May-01 04:27:24 +freepen.asm
- 1044 315 69.8% 12-May-01 15:16:50 +line.asm
- 1065 329 69.1% 12-May-01 15:16:50 +rect.asm
- 5863 1447 75.3% 12-May-01 15:12:32 +exec.h
- 14363 2752 80.8% 12-May-01 15:15:52 +exec.c
- 699 324 53.6% 12-May-01 15:15:52 +exec.h
- 2158 749 65.2% 12-May-01 15:15:52 +sock.c
- 21895 6129 72.0% 26-May-01 12:48:16 +visual.c
- 472 190 59.7% 12-May-01 15:15:52 +visual.h
- 3530 974 72.4% 12-May-01 15:12:32 +sockcommon.h
- 2228 978 56.1% 12-May-01 15:15:52 +createclientsock.c
- 464 225 51.5% 12-May-01 15:15:52 +destroyclientsock.c
- 2218 774 65.1% 12-May-01 15:15:52 +returnservsockmsg.c
- 470 221 52.9% 12-May-01 15:15:52 +cmpsockname.c
- 2805 1041 62.8% 12-May-01 15:15:52 +createservsock.c
- 1532 574 62.5% 12-May-01 15:15:52 +destroyservsock.c
- 142 94 33.8% 12-May-01 15:15:52 +destroysockname.c
- 648 341 47.3% 12-May-01 15:15:52 +getservsockmsg.c
- 284 158 44.3% 12-May-01 15:15:52 +getsockname.c
- 213 133 37.5% 12-May-01 15:15:52 +getsockport.c
- 582 310 46.7% 12-May-01 15:15:52 +initsockname.c
- 178 134 24.7% 12-May-01 15:15:52 +itoa.c
- 11433 2546 77.7% 12-May-01 15:15:52 +waitclientsock.c
- 12225 2680 78.0% 12-May-01 15:15:52 +waitservsock.c
- 8387 3172 62.1% 21-May-01 03:23:22 +tasks
- 4941 2301 53.4% 21-May-01 03:20:28 +tasks2
- 5117 2171 57.5% 23-May-01 06:58:18 +tasks3
- 1919 1677 12.6% 17-Apr-01 12:06:08 +memorylayout.pdf
- 3680 3377 8.2% 17-Apr-01 12:06:08 +messageproxy.pdf
- 1981 1661 16.1% 17-Apr-01 12:06:08 +oneway.pdf
- 2277 1960 13.9% 17-Apr-01 12:06:08 +twoway.pdf
- 77353 16516 78.6% 16-May-01 21:30:54 +teklib.doc
- 92159 17601 80.9% 09-Jun-01 13:48:16 +teklib.guide
- 3954 1121 71.6% 12-May-01 15:12:32 +sock.h
- 245 158 35.5% 12-May-01 15:15:52 +dupsockname.c
- 427 242 43.3% 12-May-01 15:15:52 +getclientsockmsg.c
- 1744 731 58.0% 12-May-01 15:15:52 +putclientsockmsg.c
- 320 198 38.1% 12-May-01 15:12:32 +memfill32.c
- 588 321 45.4% 12-May-01 15:12:32 +mmualloc0.c
- 1944 742 61.8% 12-May-01 15:12:32 +poolalloc.c
- 1469 648 55.8% 12-May-01 15:12:32 +createpool.c
- 328 195 40.5% 12-May-01 15:12:32 +destroy.c
- 940 460 51.0% 12-May-01 15:12:32 +initmemhead.c
- 17984 3086 82.8% 12-May-01 15:12:32 +initmmu.c
- 266 169 36.4% 12-May-01 15:12:32 +memcopy.c
- 289 184 36.3% 12-May-01 15:12:32 +memcopy32.c
- 292 181 38.0% 12-May-01 15:12:32 +memfill.c
- 497 275 44.6% 12-May-01 15:12:32 +mmualloc.c
- 478 257 46.2% 12-May-01 15:12:32 +mmuallochandle.c
- 520 280 46.1% 12-May-01 15:12:32 +mmuallochandle0.c
- 378 221 41.5% 12-May-01 15:12:32 +mmufree.c
- 236 168 28.8% 12-May-01 15:12:32 +mmufreehandle.c
- 467 244 47.7% 12-May-01 15:12:32 +mmugetsize.c
- 886 351 60.3% 12-May-01 15:12:32 +mmurealloc.c
- 505 295 41.5% 12-May-01 15:12:32 +poolfree.c
- 403 244 39.4% 12-May-01 15:12:32 +poolgetsize.c
- 2262 644 71.5% 12-May-01 15:12:32 +staticfree.c
- 373 234 37.2% 12-May-01 15:12:32 +staticgetsize.c
- 342 205 40.0% 12-May-01 15:12:32 +addhead.c
- 352 206 41.4% 12-May-01 15:12:32 +addtail.c
- 703 273 61.1% 12-May-01 15:12:32 +insert.c
- 372 222 40.3% 12-May-01 15:12:32 +remhead.c
- 276 180 34.7% 12-May-01 15:12:32 +remove.c
- 377 224 40.5% 12-May-01 15:12:32 +remtail.c
- 689 313 54.5% 12-May-01 15:12:32 +seeknode.c
- 1728 616 64.3% 12-May-01 15:12:32 +poolrealloc.c
- 1823 566 68.9% 12-May-01 15:12:32 +staticalloc.c
- 4074 1034 74.6% 12-May-01 15:12:32 +staticrealloc.c
- 596 341 42.7% 12-May-01 15:12:34 +ackmsg.c
- 578 328 43.2% 12-May-01 15:12:34 +dropmsg.c
- 643 354 44.9% 19-May-01 00:13:58 +getmsg.c
- 1451 476 67.1% 12-May-01 15:12:34 +getmsgattrs.c
- 419 245 41.5% 12-May-01 15:12:34 +getmsgsender.c
- 618 348 43.6% 12-May-01 15:12:34 +putmsg.c
- 722 380 47.3% 12-May-01 15:12:34 +putreplymsg.c
- 610 337 44.7% 12-May-01 15:12:34 +replymsg.c
- 1262 605 52.0% 12-May-01 15:12:34 +sendmsg.c
- 981 417 57.4% 12-May-01 15:12:34 +allocsignal.c
- 878 449 48.8% 12-May-01 15:12:34 +createport.c
- 6534 1708 73.8% 12-May-01 15:12:34 +createtask.c
- 777 417 46.3% 12-May-01 15:12:34 +destroyport.c
- 479 229 52.1% 12-May-01 15:12:34 +freesignal.c
- 277 190 31.4% 12-May-01 15:12:34 +getrandomseed.c
- 608 319 47.5% 12-May-01 15:12:34 +initlock.c
- 281 186 33.8% 12-May-01 15:12:34 +lock.c
- 766 335 56.2% 12-May-01 15:12:34 +setsignal.c
- 621 302 51.3% 12-May-01 15:12:34 +signal.c
- 253 172 32.0% 12-May-01 15:12:34 +taskfindself.c
- 344 214 37.7% 12-May-01 15:12:34 +timedelay.c
- 1303 555 57.4% 12-May-01 15:12:34 +timedwait.c
- 321 198 38.3% 12-May-01 15:12:34 +timequery.c
- 275 177 35.6% 12-May-01 15:12:34 +timereset.c
- 262 170 35.1% 12-May-01 15:12:34 +unlock.c
- 605 284 53.0% 12-May-01 15:12:34 +wait.c
- 517 278 46.2% 12-May-01 15:12:34 +waitport.c
- 345 208 39.7% 12-May-01 15:12:34 +arraygetlen.c
- 937 405 56.7% 12-May-01 15:12:34 +arraysetlen.c
- 337 211 37.3% 12-May-01 15:12:34 +createstring.c
- 508 285 43.8% 12-May-01 15:12:34 +createstringstr.c
- 279 181 35.1% 12-May-01 15:12:34 +strcopy.c
- 672 331 50.7% 12-May-01 15:12:34 +stringcat.c
- 608 325 46.5% 12-May-01 15:12:34 +stringcatstr.c
- 446 268 39.9% 12-May-01 15:12:34 +stringdup.c
- 498 281 43.5% 12-May-01 15:12:34 +stringfindstr.c
- 446 264 40.8% 12-May-01 15:12:34 +stringsetlen.c
- 445 190 57.3% 12-May-01 15:06:48 +debug.h
- 4705 1585 66.3% 12-May-01 15:12:34 +addsockport.c
- 5181 1882 63.6% 12-May-01 15:12:34 +findsockport.c
- 514 276 46.3% 12-May-01 15:12:34 +remsockport.c
- 482 270 43.9% 12-May-01 15:12:34 +getrandom.c
- 671 312 53.5% 12-May-01 15:12:34 +gettagarray.c
- 551 259 52.9% 12-May-01 15:12:34 +gettagvalue.c
- 355 213 40.0% 12-May-01 15:12:34 +arrayvalid.c
- 708 376 46.8% 12-May-01 15:12:34 +createarray.c
- 303 197 34.9% 12-May-01 15:12:34 +destroyarray.c
- 263 184 30.0% 12-May-01 15:12:34 +destroystring.c
- 293 184 37.2% 12-May-01 15:12:34 +strcat.c
- 591 312 47.2% 12-May-01 15:12:34 +strcmp.c
- 368 233 36.6% 12-May-01 15:12:34 +strdup.c
- 530 313 40.9% 12-May-01 15:12:34 +stringcatchar.c
- 530 299 43.5% 12-May-01 15:12:34 +stringcopy.c
- 486 288 40.7% 12-May-01 15:12:34 +stringcopystr.c
- 577 335 41.9% 12-May-01 15:12:34 +stringcopystrn.c
- 541 284 47.5% 12-May-01 15:12:34 +stringfind.c
- 462 262 43.2% 12-May-01 15:12:34 +stringfindsimple.c
- 306 198 35.2% 12-May-01 15:12:34 +stringlen.c
- 323 214 33.7% 12-May-01 15:12:34 +stringvalid.c
- 262 187 28.6% 12-May-01 15:12:34 +strlen.c
- 2860 751 73.7% 26-May-01 00:32:58 +Makefile_amiga_gcc
- 1167 281 75.9% 26-May-01 00:32:00 +Makefile_amiga_sasc
- 3261 930 71.4% 26-May-01 00:32:30 +Makefile_amiga_sasc_epilog
- 46 46 0.0% 12-May-01 15:15:52 +Makefile_amiga_sasc_prolog
- 2953 759 74.2% 12-May-01 15:15:52 +Makefile_morph_gcc
- 13510 1824 86.4% 12-May-01 15:15:52 +Makefile_elate
- 2956 721 75.6% 26-May-01 04:48:24 +Makefile_linux
- 25402 3158 87.5% 17-May-01 01:04:00 +Makefile_main
- 7222 2252 68.8% 14-May-01 00:47:12 +exec.h
- 2877 1402 51.2% 26-May-01 17:41:36 +HISTORY
- 6649 1795 73.0% 26-May-01 17:59:38 +mem.h
- 2747 939 65.8% 12-May-01 15:06:48 +msg.h
- 3282 1481 54.8% 09-Jun-01 13:54:06 +README
- 1393 618 55.6% 12-May-01 15:06:48 +type_elate.h
- 1425 635 55.4% 12-May-01 15:06:48 +type_linux32.h
- 10315 3155 69.4% 25-May-01 23:36:06 +visual.h
- 1316 465 64.6% 12-May-01 15:06:48 +list.h
- 1154 543 52.9% 12-May-01 15:06:48 +sock.h
- 895 439 50.9% 17-May-01 01:07:22 +util.h
- 744 410 44.8% 25-May-01 23:31:16 +allocpen.c
- 2557 958 62.5% 12-May-01 15:12:34 +attachvisual.c
- 546 329 39.7% 25-May-01 23:31:30 +clear.c
- 9499 2454 74.1% 12-May-01 15:12:34 +createvisual.c
- 907 440 51.4% 12-May-01 15:12:34 +drawrgb.c
- 635 367 42.2% 19-May-01 00:10:06 +flush.c
- 808 420 48.0% 19-May-01 00:10:16 +flusharea.c
- 726 373 48.6% 25-May-01 23:32:00 +frect.c
- 547 320 41.4% 25-May-01 23:32:08 +freepen.c
- 1553 539 65.2% 12-May-01 15:12:34 +getattrs.c
- 696 348 50.0% 25-May-01 23:32:28 +line.c
- 780 407 47.8% 25-May-01 23:32:38 +linearray.c
- 629 334 46.8% 25-May-01 23:32:48 +plot.c
- 716 367 48.7% 25-May-01 23:32:58 +rect.c
- 758 371 51.0% 12-May-01 15:12:34 +scroll.c
- 632 365 42.2% 19-May-01 00:11:52 +sync.c
- 964 463 51.9% 25-May-01 23:33:22 +text.c
- 3435 859 74.9% 12-May-01 15:06:48 +array.h
- 229 102 55.4% 12-May-01 15:06:48 +AUTHORS
- 4973 1797 63.8% 25-May-01 23:47:32 +bashing.c
- 21651 6359 70.6% 26-May-01 04:51:04 +dino.c
- 265506 73743 72.2% 12-May-01 15:12:36 +dino.h
- 681 367 46.1% 12-May-01 15:12:36 +killserver.c
- 11697 3450 70.5% 26-May-01 18:03:16 +kine.c
- 600 283 52.8% 26-May-01 18:03:14 +kine.h
- 11837 3475 70.6% 26-May-01 18:03:16 +mathutil.c
- 1769 619 65.0% 26-May-01 18:03:16 +mathutil.h
- 1816 647 64.3% 25-May-01 23:50:52 +Makefile_amiga_sasc
- 1569 438 72.0% 12-May-01 15:12:36 +Makefile_morphos
- 1245 593 52.3% 12-May-01 15:12:36 +randomtest.c
- 1335 636 52.3% 12-May-01 15:12:36 +subtask.c
- 5795 1267 78.1% 12-May-01 15:06:48 +INSTALL
- 879 452 48.5% 19-May-01 00:08:30 +setinput.c
- 1654 850 48.6% 12-May-01 15:06:50 +COPYING
- 2600 1024 60.6% 19-May-01 00:24:06 +array.c
- 21524 5767 73.2% 25-May-01 23:46:28 +balls.c
- 1915 825 56.9% 19-May-01 19:24:10 +client.c
- 6001 2037 66.0% 25-May-01 23:49:10 +dynamicsystem.c
- 1628 693 57.4% 12-May-01 15:12:36 +heaptest.c
- 1204 399 66.8% 26-May-01 04:21:34 +Makefile_amiga_gcc
- 864 356 58.7% 26-May-01 04:33:56 +Makefile_elate
- 1310 443 66.1% 26-May-01 04:48:50 +Makefile_linux
- 2213 1012 54.2% 12-May-01 15:12:36 +server.c
- 2471 1069 56.7% 19-May-01 00:20:30 +string.c
- 1913 871 54.4% 12-May-01 15:12:36 +subtask2.c
- 2039 816 59.9% 12-May-01 15:12:38 +taskterror.c
- 696 366 47.4% 12-May-01 15:12:36 +timetest.c
- 1436 645 55.0% 12-May-01 15:06:50 +type_amiga.h
- -------- ------- ----- --------- --------
- 972800 284678 70.7% 10-Jun-101 01:07:42 270 files
-